Graphical Representation of Tabular Data

ABSTRACT

An enterprise management system may present data in a user interface that contains tabular data and a graphical representation of the tabular data. The graphical representation may change based on portions of the tabular data that may be selected, and may show a graphical data summary if no rows are selected, or detailed graphical illustrations of the selected rows. In some cases, filters may be applied to the data, and a selection tool may enable a user to select from several different parameters in each row.

BACKGROUND

Many applications collect data and store data in a tabular form. In manycases, such application may use a database to store, sort, andmanipulate the data. Tabular data is easy to manipulate with a computer,but can be difficult to comprehend and grasp for a human who may wish toanalyze the data.

Enterprise management systems may be deployed to monitor and manage manycomputer systems throughout an organization such as a company. In manysuch systems, data may be collected for each monitored device and may bedisplayed in tabular form. An example of such a table may includevarious data parameters that are collected for various monitored devicesor services. Such a table may have rows assigned for each device orservice listed with a selection of measured or calculated parameterslisted in columns across the table.

SUMMARY

An enterprise management system may present data in a user interfacethat contains tabular data and a graphical representation of the tabulardata. The graphical representation may change based on portions of thetabular data that may be selected, and may show a graphical data summaryif no rows are selected, or detailed graphical illustrations of theselected rows. In some cases, filters may be applied to the data, and aselection tool may enable a user to select from several differentparameters in each row.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings,

FIG. 1 is a diagram illustration of an embodiment showing a system witha user interface.

FIG. 2 is a diagram illustration of an embodiment showing a userinterface with a summary graphical representation.

FIG. 3 is a diagram illustration of an embodiment showing a userinterface with detailed graphical representation of selected items.

FIG. 4 is a flowchart illustration of an embodiment showing a method forgenerating a user interface.

DETAILED DESCRIPTION

An interactive user interface for an enterprise management system mayhave two portions: a tabular data portion and a graphical representationportion. The graphical representation portion may display some or all ofthe data from the tabular data portion, depending on which portions ofthe tabular data that may be selected.

An enterprise management system may be used to monitor, configure, andmanage computer and network devices over a large organization, such as acompany or other large enterprise. In many cases, an enterprisemanagement system may be used to monitor and control thousands or evenhundreds of thousands of computers and other devices. Such managementsystems may collect data from many sources and may present the data to amanager or administrator in multiple formats.

The interactive user interface may enable a manager or administrator tonavigate and analyze the data by examining various facets of the data.The data may be presented in a tabular form. Each row of a table mayhave a record relating to a device, service, application, or othermonitored feature. The row may have several data parameters that mayinclude any type of data in any format. In many cases, numerical,categorical, or text data may be used.

When no rows of the table are selected, a graphical representation of asummary of all the rows may be created and presented along with thetabular data. When one row is selected, a graphical representation ofthe row may be presented. When two or more rows are selected, agraphical representation of each row may be shown.

Throughout this specification, like reference numbers signify the sameelements throughout the description of the figures.

When elements are referred to as being “connected” or “coupled,” theelements can be directly connected or coupled together or one or moreintervening elements may also be present. In contrast, when elements arereferred to as being “directly connected” or “directly coupled,” thereare no intervening elements present.

The subject matter may be embodied as devices, systems, methods, and/orcomputer program products. Accordingly, some or all of the subjectmatter may be embodied in hardware and/or in software (includingfirmware, resident software, micro-code, state machines, gate arrays,etc.) Furthermore, the subject matter may take the form of a computerprogram product on a computer-usable or computer-readable storage mediumhaving computer-usable or computer-readable program code embodied in themedium for use by or in connection with an instruction execution system.In the context of this document, a computer-usable or computer-readablemedium may be any medium that can contain, store, communicate,propagate, or transport the program for use by or in connection with theinstruction execution system, apparatus, or device.

The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. By way of example, and not limitation, computer readable mediamay comprise computer storage media and communication media.

Computer storage media includes volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can accessed by an instructionexecution system. Note that the computer-usable or computer-readablemedium could be paper or another suitable medium upon which the programis printed, as the program can be electronically captured, via, forinstance, optical scanning of the paper or other medium, then compiled,interpreted, of otherwise processed in a suitable manner, if necessary,and then stored in a computer memory.

Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of the anyof the above should also be included within the scope of computerreadable media.

When the subject matter is embodied in the general context ofcomputer-executable instructions, the embodiment may comprise programmodules, executed by one or more systems, computers, or other devices.Generally, program modules include routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular abstract data types. Typically, the functionalityof the program modules may be combined or distributed as desired invarious embodiments.

FIG. 1 is a diagram of an embodiment 100 showing a system with a userinterface. Embodiment 100 is an example of a system that may have a userinterface for an application. In the case of embodiment 100, anenterprise management system 102 may have a database 104 which may storedata collected from devices 106, 108, and 110. The user interface 112may be used to navigate through the data in various manners.

The enterprise management system 102 may be a large scale applicationthat monitors many devices across a department, division, or an entireenterprise. Some such systems may be used to monitor hundreds ofthousands of devices across very large, multinational companies or forlarge governmental departments, for example. On a smaller scale, suchsystems may be used in organizations with several dozen devices.

The enterprise management system 102 may collect data from manydifferent devices 106, 108, and 110 using a variety of mechanisms. Insome cases, the enterprise management system 102 may probe or query thedevices. In other cases, the devices may have a daemon or localapplication that gathers and transmits data. Other mechanisms may alsobe used.

The enterprise management system 102 may operate on a single hostdevice, such as a server, or may be spread across several devices. Whenthe enterprise management system 102 operates across several devices,one device or cluster of devices may perform a specific function, suchas data collection, while another device or group of devices may performa different function, such as data analysis.

The enterprise management system 102 is used in embodiment 100 as anexample of an application that may have data to be displayed. Otherembodiments may have a user interface 112 that may connect withdifferent types of applications, from simple spreadsheet applications,database applications, to large customer resource managementapplications, or any other type of application that may present data ina tabular format.

The user interface 112 may be provided through various mechanisms. Forexample, some embodiments may have a device with a processor that mayoperate an application that creates the user interface on a locallyattached display. Other embodiments may have a web interface throughwhich a browser operated on a client device may connect to a server thatcreates a user interface that is displayed on the client. Still otherembodiments may have different system architectures that enable aprocessor to create a user interface that is displayed on a displaydevice.

The user interface 112 may be displayed on any type of display device. Ageneral purpose graphical display such as a CRT or LCD may be used inmany cases. Some displays may be capable of multiple colors while othersmay be a mono color display.

Each user interface may also have various types of input devices tointeract with the user interface. Examples of input devices may includekeyboards, pointing devices such as a mouse, stylus, touchpad,touchscreen, trackball, or any other input device.

FIG. 2 is a diagram illustration of an embodiment 200 showing a userinterface. Embodiment 200 is an example of a user interface that forwhich tabular data and a graphical representation of tabular data may beshown. Other embodiments may use different layouts, different fit andfinish, different sizes and proportions, or other variations while stillhaving the functionality described herein.

The window 202 may be a portion of a user interface that displays datafrom an application, such as an enterprise management system. The window202 may contain an area of tabular data 204 that contains a header 206and several rows of data 208. In many cases, various parameters may bedisplayed in each row.

In some cases, the parameters displayed may be summary statistics thatencompass or summarize many other pieces of data. For example, a datavalue for downtime for a device may be displayed in the tabular data 204that may be a total value of downtime, but the value may have beencomputed from analyzing a large volume of data points.

The summary pie chart 210 is an example of various graphicalrepresentations that may be made from the tabular data 204. Any type ofgraphical representation may be used, including bar charts, stacked barcharts, line charts, pie charts, timeline diagrams, scatter diagrams, orany other chart. In some cases, data may be mapped to a geographic mapor other type of map.

In many embodiments, when no items are selected from the tabular data204, the graphical representation may show an overall summary of thetabular data 204.

The graphical representation of the tabular data 204 may be shown in adefault view. In some embodiments, a drop down list 212 may be used tochange the graphical representation from one data parameter to another.

FIG. 3 is a diagram illustration of an embodiment 300 showing a userinterface. Embodiment 300 is an example of a user interface that forwhich tabular data and a graphical representation of tabular data may beshown. Other embodiments may use different layouts, different fit andfinish, different sizes and proportions, or other variations while stillhaving the functionality described. Embodiment 300 is an example similarto embodiment 200 where several rows of data are selected.

The window 302 may be a portion of a user interface that displays datafrom an application. The window 302 may contain an area of tabular data304 that contains a header 306 and several selected rows of data 308.

The selected rows of data 308 may be selected using any type of userinterface interaction. In some instances, a mouse or other pointingdevice may be used to select each row separately. In other instances, akeyboard or other input device may be used separately or in conjunctionwith a pointing device to select various rows.

When the rows are selected, the rows may be highlighted or changed insome fashion so that a user may know which rows are selected. Suchembodiments may be able to change the color of a selected row, shade therow a different color, or use some other highlighting mechanism. In someembodiments, a checkbox, radio button, or other display mechanism may beused to indicate a selected row.

The graphical representation in embodiment 300 may be a stacked barchart 310. A stacked bar chart or some other representation of the datamay be used that shows some underlying data behind a summary figureshown in the tabular data. In the case of a stacked bar chart, a summarydata value may be the sum of three other data values, each of which maybe represented as a different color or shading on the stacked bar chart310.

The stacked bar chart 310 may represent one of the data values presentedin one of the columns of the tabulated data 304. A drop down list 312may be used to change from one data parameter to another in someembodiments.

By using a graphical representation that shows background or summarystatistics, a detailed view of each selected item may be illustrated,which may highlight lower level data than what may be displayed in thetabulated data 304.

By combining embodiments 200 and 300, a graphical representation ofthree levels of data may be illustrated. In embodiment 200, thegraphical representation of a summary of the tabulated data may be shownas a first level of data presentation. When one or more of the rows ofthe tabulated data are selected, each row may be displayed separately inthe stacked bar chart, which may illustrate a second and third level ofdata. The second level of data may be illustrated by the relative lengthof the bars in the stacked bar chart 310. In this level, a directcomparison between several selected items may be performed. On a thirdlevel, the components that make up the second level data may beillustrated in the stacked bar chart.

FIG. 4 is a flowchart illustration of an embodiment 400 showing a methodfor a user interface. Embodiment 400 is one example of a method by whichdata records may be organized and presented in tabular form, and bywhich a graphical representation of some or all of the data may bepresented.

Other embodiments may use different terminology, nomenclature,sequences, or steps, and some may include additional or fewer steps toaccomplish the functionality described in embodiment 400.

Records are selected for display in block 402. In many cases, a databasequery may be performed to retrieve records for display.

The records may be filtered in block 404. In some embodiments, manyrecords may be retrieved from a database and loaded into memory in block402, but a user may be able to apply a filter in block 404. In suchembodiments, a larger set of data may be loaded into local memory thanmay be displayed. The filter of block 404 may be a filter selected by auser that defines a subset of the retrieved records to be shown. In someembodiments, various predefined filters may be defined for a standardset of data views, for example. Such filters may be selected within anapplication that presents a user interface.

The records may be displayed in tabular form in block 406. In someembodiments, the tabular form may include a record name or identifierand one or more data parameters for the record. When the records areretrieved and filtered, some of the retrieval and filter conditions mayrefer to one or more of the data parameters for the records.

When data records are displayed in tabular form, there may be manydifferent parameters associated with each data record. In someembodiments, a subset of the parameters may be displayed. Someembodiments may additionally include summary parameters that maysummarize several other parameters within a record.

For example, a record for an enterprise management system may containperformance data for a device connected to a network. The record maycontain many parameters, several of which indicate the health or overallperformance of the device. In the record displayed in tabular form forthe device, a summary statistic may be generated that summarizes theseveral health parameters into a single summary parameter.

If no records are selected in block 408, a summary graphicalrepresentation of the tabular data may be generated in block 410 anddisplayed in block 416. The summary graphical representation maysummarize the tabular data using an overview graphic. An example of thegraphic may be locations of devices that are mapped to a geographicalillustration, a summary pie chart of categories of records, or someother graphical representation of the records.

If one or more records are selected in block 408, the records may behighlighted in block 412 and a graphical representation of the selecteddata may be generated in block 414 and displayed in block 416.

As records are selected, the records may be highlighted by severaldifferent mechanisms. In some embodiments, the highlighted records maybe shaded, presented in different color, have a different backgroundcolor, or some other graphical highlighting. In some embodiments, acheckbox, radio button, or other input device may be used to select thevarious records and indicate the record status as selected or not.

The graphical representation of selected data in block 414 may include adetailed breakdown of one or more parameters associated with theselected records. For example, a record may include one or moreparameters that are summary statistics. The summary statistics may bebased on calculations performed on several other data points.

An example of such a summary statistic may be a device's data storageperformance index. The performance index may be calculated by a formulabased on several performance parameters such as maximum data transferrates, degree of fragmentation of a data storage device, and otherparameters. When an embodiment may display a device's data storageperformance index, a stacked bar chart, pie chart, or other graphicalrepresentation may include a graphical representation of the componentsthat make up the data storage performance index.

After the graphical representation is displayed in block 416, a user maychange a data parameter in block 418. Such a change may select aparameter in another column of the tabular data. In some embodiments,such as embodiment 200, a drop down list 212 or other user interfaceselection device may be used to select the appropriate parameter. Insome embodiments, a user may be able to select and highlight a columnwithin the tabular display to indicate the parameter about which agraphical representation may be created.

The foregoing description of the subject matter has been presented forpurposes of illustration and description. It is not intended to beexhaustive or to limit the subject matter to the precise form disclosed,and other modifications and variations may be possible in light of theabove teachings. The embodiment was chosen and described in order tobest explain the principles of the invention and its practicalapplication to thereby enable others skilled in the art to best utilizethe invention in various embodiments and various modifications as aresuited to the particular use contemplated. It is intended that theappended claims be construed to include other alternative embodimentsexcept insofar as limited by the prior art.

1. A method comprising: selecting a group of records to be displayedfrom a database, each of group of records having at least one dataparameter; displaying said group of records in a list view in a firstpart of a user interface; when none of said records are selected,displaying a summary graphical representation of said group of recordsin a second part of said user interface; and when one or more of saidrecords are selected, displaying a graphical representation of said oneor more of said records.
 2. The method of claim 1 further comprising:filtering said group of records into a subset of said records.
 3. Themethod of claim 1, each of said group of records comprising a pluralityof data parameters.
 4. The method of claim 3 further comprising:selecting at least one data parameter to display in said graphicalrepresentation.
 5. The method of claim 4, said graphical representationcomprising a selection mechanism to select between said plurality ofdata parameters.
 6. The method of claim 1, said graphical representationcomprising separate representations for each of said records that areselected.
 7. The method of claim 1, said graphical representationcomprising an aggregated representation of said one or more records. 8.The method of claim 1, said list view comprising said at least one dataparameter.
 9. The method of claim 1, said list view not comprising saidat least one data parameter.
 10. A computer readable medium comprisingcomputer executable instructions adapted to perform the method ofclaim
 1. 11. A system comprising: a enterprise management system adaptedto determine status information from a plurality of devices and storesaid status information in records in a database; a user interface forsaid enterprise management system adapted to: select a group of saidrecords to be displayed from said database, each of group of recordshaving at least one data parameter; display said group of records in alist view in a first part of a user interface; when none of said recordsare selected, display a summary graphical representation of said groupof records in a second part of said user interface; and when one or moreof said records are selected, display a graphical representation of saidone or more of said records.
 12. The system of claim 11, said userinterface being further adapted to: filter said group of records into asubset of said records.
 13. The system of claim 11, each of said groupof records comprising a plurality of data parameters.
 14. The system ofclaim 13, said user interface being further adapted to: select at leastone data parameter to display in said graphical representation.
 15. Thesystem of claim 14, said user interface comprising a selection mechanismto select between said plurality of data parameters.
 16. The system ofclaim 11, said graphical representation comprising separaterepresentations for each of said records that are selected.
 17. Thesystem of claim 11, said graphical representation comprising anaggregated representation of said one or more records.
 18. The system ofclaim 11, said list view comprising said at least one data parameter.19. A method comprising: receiving messages from a plurality ofmonitored devices, each of said messages comprising a device status;creating data records from said messages; storing said data records in adatabase; selecting a group of said data records to be displayed from adatabase, each of group of data records having at least one dataparameter; displaying said group of data records in a list view in afirst part of a user interface; when none of said data records areselected, displaying a summary graphical representation of said group ofdata records in a second part of said user interface; and when one ormore of said data records are selected, displaying a graphicalrepresentation of said one or more of said data records.
 20. A computerreadable medium comprising computer executable instructions adapted toperform the method of claim 19.